#ifndef CARDEBUG_H
#define CARDEBUG_H

#include "CarFunctionTypeDefine.h"

class CarDebug
{
public:
	static CarDebug instance;

	void SetLogCallback(LogFunction logFunction);
	void SetLogWarningCallback(LogFunction logFunction);
	void SetLogErrorCallback(LogFunction logFunction);

	void Log(const wchar_t* message);
	void LogWarning(const wchar_t* message);
	void LogError(const wchar_t* message);

private:
	LogFunction mLogMessageFunction = nullptr;
	LogFunction mLogWarningFunction = nullptr;
	LogFunction mLogErrorFunction = nullptr;
};

#endif //CARDEBUG_H